সি শার্পে (C#) ArrayList, List<T>, এবং Dictionary<TKey, TValue> হলো ডেটা সংরক্ষণ এবং ম্যানেজমেন্টের জন্য ব্যবহৃত কালেকশনগুলোর উদাহরণ। এগুলোর মাধ্যমে ডাইনামিক ডেটা ম্যানেজমেন্ট, কী-ভ্যালু পেয়ার, এবং জেনেরিক টাইপের ডেটা সংরক্ষণ করা যায়।
১. ArrayList
ArrayList হলো একটি নন-জেনেরিক কালেকশন, যা System.Collections নেমস্পেসে পাওয়া যায়। এটি যেকোনো ধরনের ডেটা সংরক্ষণ করতে পারে, এবং অ্যারের তুলনায় এর আকার ডাইনামিকভাবে বাড়ানো বা কমানো যায়। যেহেতু এটি নন-জেনেরিক, তাই object টাইপে যেকোনো ধরনের ডেটা সংরক্ষণ করা যায়, কিন্তু টাইপ সেফটি নিশ্চিত করে না।
ArrayList এর গঠন এবং উদাহরণ
using System;
using System.Collections;
class Program
{
static void Main(string[] args)
{
ArrayList arrayList = new ArrayList();
// Adding elements
arrayList.Add(10);
arrayList.Add("Alice");
arrayList.Add(3.14);
arrayList.Add(true);
// Displaying elements
foreach (var item in arrayList)
{
Console.WriteLine("Element: " + item);
}
// Removing element
arrayList.Remove("Alice");
// Displaying after removal
Console.WriteLine("\nAfter Removal:");
foreach (var item in arrayList)
{
Console.WriteLine("Element: " + item);
}
}
}
আউটপুট:
Element: 10
Element: Alice
Element: 3.14
Element: True
After Removal:
Element: 10
Element: 3.14
Element: True
২. List<T>
List<T> হলো একটি জেনেরিক কালেকশন, যা System.Collections.Generic নেমস্পেসে পাওয়া যায়। এটি শুধুমাত্র নির্দিষ্ট ডেটা টাইপের আইটেম সংরক্ষণ করে এবং টাইপ সেফটি নিশ্চিত করে। List<T> অ্যারে থেকে বেশি ফ্লেক্সিবল, এবং এতে .Add(), .Remove(), .Insert() ইত্যাদি মেথড রয়েছে।
List<T> এর গঠন এবং উদাহরণ
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
List<int> numbers = new List<int> { 10, 20, 30 };
// Adding elements
numbers.Add(40);
numbers.Add(50);
// Displaying elements
foreach (int number in numbers)
{
Console.WriteLine("Number: " + number);
}
// Removing element
numbers.Remove(20);
// Displaying after removal
Console.WriteLine("\nAfter Removal:");
foreach (int number in numbers)
{
Console.WriteLine("Number: " + number);
}
}
}
আউটপুট:
Number: 10
Number: 20
Number: 30
Number: 40
Number: 50
After Removal:
Number: 10
Number: 30
Number: 40
Number: 50
৩. Dictionary<TKey, TValue>
Dictionary<TKey, TValue> হলো একটি কী-ভ্যালু পেয়ার কালেকশন, যা System.Collections.Generic নেমস্পেসে পাওয়া যায়। এটি একটি নির্দিষ্ট কী এবং মানের সমন্বয়ে ডেটা সংরক্ষণ করে এবং ডুপ্লিকেট কী সমর্থন করে না। ডিকশনারি সাধারণত দ্রুত অনুসন্ধানের জন্য ব্যবহৃত হয়, এবং এর মাধ্যমে কী ব্যবহার করে মানে দ্রুত অ্যাক্সেস করা যায়।
Dictionary<TKey, TValue> এর গঠন এবং উদাহরণ
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
Dictionary<int, string> students = new Dictionary<int, string>();
// Adding elements
students.Add(101, "Alice");
students.Add(102, "Bob");
students.Add(103, "Charlie");
// Displaying elements
foreach (KeyValuePair<int, string> student in students)
{
Console.WriteLine("ID: " + student.Key + ", Name: " + student.Value);
}
// Removing an element by key
students.Remove(102);
// Displaying after removal
Console.WriteLine("\nAfter Removal:");
foreach (KeyValuePair<int, string> student in students)
{
Console.WriteLine("ID: " + student.Key + ", Name: " + student.Value);
}
}
}
আউটপুট:
ID: 101, Name: Alice
ID: 102, Name: Bob
ID: 103, Name: Charlie
After Removal:
ID: 101, Name: Alice
ID: 103, Name: Charlie
ArrayList, List<T>, এবং Dictionary<TKey, TValue> এর তুলনা
| বৈশিষ্ট্য | ArrayList | List<T> | Dictionary<TKey, TValue> |
|---|---|---|---|
| টাইপ সেফটি | না | হ্যাঁ | হ্যাঁ |
| অ্যাড এবং রিমুভ | .Add(), .Remove() | .Add(), .Remove() | .Add(), .Remove(key) |
| ইনডেক্স অনুযায়ী অ্যাক্সেস | হ্যাঁ | হ্যাঁ | না, কিন্তু কী ব্যবহার করে মান অ্যাক্সেসযোগ্য |
| কী-ভ্যালু পেয়ার | না | না | হ্যাঁ, কী-ভ্যালু পেয়ার |
| ব্যবহারের সহজতা | যেকোনো ধরনের ডেটা সংরক্ষণযোগ্য | নির্দিষ্ট ডেটা টাইপ সংরক্ষণযোগ্য | দ্রুত অনুসন্ধান এবং কী-ভিত্তিক অ্যাক্সেসযোগ্য |
সারসংক্ষেপ
সি শার্পে ArrayList, List<T>, এবং Dictionary<TKey, TValue> ডেটা সংরক্ষণ এবং ম্যানেজমেন্টের জন্য ব্যবহৃত কালেকশন। ArrayList হলো একটি নন-জেনেরিক কালেকশন, যা যেকোনো ধরনের ডেটা সংরক্ষণ করতে পারে, কিন্তু টাইপ সেফ নয়। List<T> হলো জেনেরিক এবং টাইপ সেফ, যেখানে নির্দিষ্ট ডেটা টাইপ সংরক্ষণ করা যায়। Dictionary<TKey, TValue> হলো একটি কী-ভ্যালু পেয়ার কালেকশন, যা দ্রুত অনুসন্ধান এবং কী ভিত্তিক ডেটা অ্যাক্সেসের জন্য ব্যবহৃত হয়।